From 6a770517ccc1ef4cff55f96858b9caf9c700f412 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1?= =?utf8?q?=D1=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= Date: Tue, 15 Aug 2017 13:07:01 +0000 Subject: [PATCH] Only register application/x-rootwindow-drop on X11 application/x-rootwindow-drop is not useful anywhere else, so put it under #ifdef GDK_WINDOWING_X11 On W32 this prevents toplevels from automatically becoming valid drop targets with a useless drop type. (This commit is cherry-picked from the gtk-3-22 branch) https://bugzilla.gnome.org/show_bug.cgi?id=786509 --- gtk/gtkwindow.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 1d8a8ba007..2af3e5070c 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -277,9 +277,11 @@ struct _GtkWindowPrivate GList *foci; }; +#ifdef GDK_WINDOWING_X11 static const char *dnd_dest_targets [] = { "application/x-rootwindow-drop" }; +#endif enum { SET_FOCUS, @@ -1909,12 +1911,14 @@ gtk_window_init (GtkWindow *window) priv->scale = gtk_widget_get_scale_factor (widget); +#ifdef GDK_WINDOWING_X11 targets = gdk_content_formats_new (dnd_dest_targets, G_N_ELEMENTS (dnd_dest_targets)); gtk_drag_dest_set (GTK_WIDGET (window), GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP, targets, GDK_ACTION_MOVE); gdk_content_formats_unref (targets); +#endif seat = gdk_display_get_default_seat (gtk_widget_get_display (widget)); g_signal_connect (seat, "device-removed", -- 2.30.2